<?php

// -- Реализация автоматического подключения классов,
// -- Если у класса есть метод Activate, он вызывается автоматически
function __autoload ($class) {
	include_once (strtolower($class).'.php');
	if (method_exists($class, 'activateModule')) 
		call_user_func(array($class, 'activateModule'));
}

class V_Engine
{
    public function  __construct() {
        if (!defined("PATH_SEPARATOR"))
        define("PATH_SEPARATOR", getenv("COMSPEC")? ";" : ":");
        ini_set("include_path",ini_get("include_path").PATH_SEPARATOR.dirname(__FILE__));
        error_reporting (E_ALL);
        header('Content-Type: text/html; charset=utf-8');
        header("Cache-Control: no-cache, must-revalidate");
		header("Cache-Control: post-check=0,pre-check=0", false);
		header("Cache-Control: max-age=0", false);
		header("Pragma: no-cache");
        setlocale (LC_CTYPE, "ru_RU.UTF-8");
        session_start();
    }
    
    // Запуск 'движка'
    public function run () {
        // Перенаправление на страницы
        if (V_Router::getPage()!='auth') {
            if ((!V_User::checkRoles('pages-'.V_Router::getPage().'-'.V_Router::getAction()))
                    or (V_Router::getPage()=='index'))
                V_Router::setPage(V_User::getDefaultPage());
        }
        if (V_Router::createPage(V_Router::getPage(),V_Router::getAction(),V_Config::getValue('path','pages')));
        else V_Router::setPage(V_User::getDefaultPage());
    }
}